1. Field of Invention
The present invention relates in general to the data processing field. More particularly, the present invention relates to a method, apparatus and computer program product for applying power management on a partition basis in a multipartitioned computer system.
2. Background Art
Computer systems typically include a combination of hardware and software. The combination of hardware and software on a particular computer system defines a computing environment. Different hardware platforms and different operating systems thus provide different computing environments. In recent years, engineers have recognized that it is possible to provide different computing environments on the same physical computer system by logically partitioning the computer system resources into different computing environments. Such a computer system is often referred to as a multipartitioned computer system. The IBM System i computer system developed by International Business Machines Corporation is an example of a computer system that supports logical partitioning. If logical partitioning on an IBM System i computer system is desired, partition manager code (referred to as a “hypervisor” in IBM terminology) is installed that allows defining different computing environments on the same platform. Once the partition manager is installed, logical partitions may be created that define different computing environments. The partition manager manages the logical partitions to assure that they can share needed resources in the computer system while maintaining the separate computing environments defined by the logical partitions.
A computer system that includes multiple logical partitions typically shares resources (e.g., processors, memory, persistent storage, and other physical hardware) amongst the logical partitions. For example, a computer system with a single CPU could have two logical partitions defined, with 50% of the CPU allocated to each logical partition, with 33% of the memory allocated to the first logical partition and 67% of the memory allocated to the second logical partition, and with two different I/O slots allocated to the two logical partitions, one per partition. Once logical partitions are defined and shared resources are allocated to the logical partitions, each logical partition acts as a separate computer system. Thus, in the example above that has a single computer system with two logical partitions, the two logical partitions will appear for all practical purposes to be two separate and distinct computer systems.
Many modern computer systems (e.g., server systems) have the capability of performing power management functions, often referred to as power management policies, in order to save energy and reduce cost. Power capping and power saving are examples of such power management policies that limit power consumption of a particular computer system. However, many modern computer systems also have the capability of being partitioned, as discussed above, with resources (including processing power) being virtualized across each partition. Applying conventional power management policies to a multipartitioned computer system has the effect of applying the power management policies to all partitions on the computer system.
For example, applying conventional power management policies in a multipartitioned server system with one physical processor (i.e., a single CPU) and four partitions has the effect of applying the power management policies to all four partitions on the system because each partition utilizes the same physical processor. This system-wide, all-partitions effect occurs even though conventional logical partitioning management typically provides a mechanism for the user to decide how much of the processor (often referred to as “processing units” or “virtual processor units”) gets virtually allocated to each partition. If this exemplary server system is subject to a conventional power management policy that, for example, reduces the total number of processing cycles (which is typically accomplished by reducing processor frequency and voltage), each of the four partitions would be affected in proportion to the amount of processor virtually allocated to that partition.
In the exemplary server system above, each partition has a varying level of power consumption; this is a function of the intensiveness of the processes running on the partition, but mostly is a function of the number of processing units assigned to each partition. If the exemplary server system were managed by a system-wide power management policy, all partitions' power consumption would be reduced. It is important, however, to note that all partitions' efficiency would be reduced as well. This is undesirable if one or more of the partitions is/are running important workloads having processes that should not be subject to reduced efficiency.
Therefore, a need exists for an enhanced mechanism for applying power management on a partition basis in a multipartitioned computer system.